perm filename NSF.2A[DOC,TOB] blob sn#012063 filedate 1972-11-10 generic text, type T, neo UTF8
00100	Abstract
00200	I	The Need for Advanced Automation
00300	II	Research Plan
00400		A.	The Pilot Assembly Station
00500			1.	Tasks
00600			2.	Hardware
00700		B.	Vision Development
00800		C.	Manipulator Development
00900		D.	Systems Support and Related Issues
01000	III	Dissemination of Results and Relation with Industry
01100	IV	Staff
01200	V	Computing Facilities
01300	VI	Budget
01400	VII	References
01500	VIII	Relevant Laboratory Output
01600		Films,THeses,Reports
     

00100				ABSTRACT
00200	                   ADVANCED AUTOMATION DEVELOPMENT
00300	
00400	The  SAIL  proposes  to  undertake  a  project  of  development   and
00500	application  in  advanced  automation.   The project includes a pilot
00600	assembly  station  carrying   out   practical   assembly   tasks,   a
00700	hardware-software system ready for production and fundamental work on
00800	the underlying problems of vision, manipulation and  problem-solving.
00900	We  believe  the  laboratory  is uniquely qualified to carry out this
01000	program  which  will  be  an  important  contribution  to  increasing
01100	industrial productivity.
01200	
01300	Our basic approach involves  a  general  purpose  system  integrating
01400	sensors  and  manipulators  controlled by sophisticated programs in a
01500	digital computer.  We have worked with such systems  since  1965  and
01600	have  developed  many  of the basic ideas required in general purpose
01700	assembly devices.  The main thrust of this proposal is  to  establish
01800	the  practicality  of  our  methods  and carry their development to a
01900	point from which industry can take over.
02000	
02100	The  body  of this proposal is divided into four main sections: Pilot
02200	assembly  station,  vision,  manipulation  development,  and  systems
02300	support.    Each   section   contains  a  brief  description  of  the
02400	laboratory's past work in the area, how it is to be applied, and what
02500	extensions  are  to  be undertaken.  Finally, we consider a number of
02600	important issues concerning our relations with industry and  withother
02700	reseach and development efforts in advanced automation.
     

00100	I. THE NEED FOR ADVANCED AUTOMATION
00200	
00300	
00400	
00500	The benefits available  from  automation  in  manufacturing  are  now
00600	widely  appreciated.   The  current  interest  in advanced (computer-
00700	oriented) automation stems  from  two  sources.   The  first  is  the
00800	decreasing   cost   of   computation   combined   with   an  improved
00900	understanding of how to  apply  computation  to  various  aspects  of
01000	manufacturing.  The second cause is the realization that many current
01100	manufacturing operations, primarily  assembly  and  inspection,  will
01200	require quite complex automation techniques.  The same considerations
01300	apply to the automation of  tasks  such  as  laboratory  and  medical
01400	procedures,   but  the  emphasis  has  been  (as  ours  will  be)  on
01500	manufacturing.  kThere has been a great deal written  lately  on  the
01600	potential  benefits of advanced automation and we will not attempt to
01700	restate  the  points  made   so   cogently   elsewhere.    A   recent
01800	ARPA-sponsored  study  []  in  which  we  participated  suggests  the
01900	following major benefits from advanced automation:
02000		reduced prices
02100		increased product quality and uniformity
02200		customization of products
02300		increased job satisfaction. We would like  to  add  just  one
02400	comment.   As we have seen with other technological developments such
02500	as numerical-controlled tools, there will be things made  which  were
02600	previously  impractical to make. There is widespread agreement in the
02700	technical , industrial and government communities  on  the  potential
02800	benefits of advanced automation.  There is much less agreement on the
02900	level of sophistication needed in automation hardware  and  software.
03000	We   believe  that  the  most  practical  solution  for  intermediate
03100	quantities will be to develop general purpose assembly and inspection
03200	devices controlled by sophisticated programs in digital computers.
03300	
03400	We  assume  that present manipulators have a small but stable market,
03500	and that most will have minicomputers  soon  (Sundstrand  does  now).
03600	Will  the  incremental  cost  of  touch,  force and visual sensors be
03700	offset by the opening of new  capabilities,  and  will  the  cost  be
03800	offset  by  reduced  cost  of  system design for machines which allow
03900	loose alignment tolerances?  We estimate hardware costs in a separate
04000	paragraph,  and estimate that by 1977, the incremental cost of visual
04100	sensors will be roughly $1100, with about $300 additional for a laser
04200	ranging  scheme  as  we  use  now.        With  the additional memory
04300	requirements, and the multiple of two in  marketing,  visual  sensors
04400	will add $4k to $6k to the selling price, or about 15%-20% of current
04500	manipulator prices.     Presumably labor costs will inflate also,  so
04600	that  cost  comparisons  will  not  change appreciably over that time
04700	scale unless significant  new  mechanical  designs  are  made.      A
04800	conclusion is that sensor-equipped robots will be available at slight
04900	additional cost.
05000	
05100	We do not expect mechanical production costs to drop dramatically  as
05200	electronics  costs  fall  with integration.   The most promising cost
05300	reduction development would be high-production standard modules  such
05400	as  robots.     As an example, consider the Stanford arm; produced in
05500	unit  quantity,  parts,  manufacturing   and   assembly   costs   are
05600	approximately  $10k.  The arm is much simpler than an automobile; its
05700	potential  selling  price  in  large   quantity   is   $3k,   without
05800	minicomputer   control.      Potentially,  a  robot  with  two  arms,
05900	minicomputer control, and touch sensors is possible for under $10k in
06000	quantity.   This  is  the range of price of present transfer machines
06100	which have limited  market  because  they  have  limited  motion,  no
06200	control,  and are thus locked out of the economy of scale.  Versatile
06300	assembly devices have an advantage in utilization in medium scale and
06400	job  shop  production;  their  utilization  efficiency  can be higher
06500	because versatility allows a variety of operations  to  be  scheduled
06600	simultaneously.     The  availability  of  computers  for  production
06700	scheduling will allow the flexibility to be used to advantage.   With
06800	simple  devices, transfer and assembly operations must be broken down
06900	into small operations  with  comparable  cost  to  a  more  dexterous
07000	system.  Robots can cut down on real estate, since several operations
07100	can be done at one station; belts and other transfer devices  require
07200	more  space than desirable.  A robot which can pick parts from a cart
07300	would save considerable space.  Robots would also  have  longer  life
07400	over  which  to amortize costs, since they could operate with greatly
07500	changed production operations,  and  evolve  with  new  hardware  and
07600	software  modules.    They  would have higher reliability, since they
07700	would have monitoring, contingency action, and error recovery.   They
07800	would be self-aligning, self-calibrating, and self-testing. There has
07900	been  difficulty  in  meeting  the  tight  tolerances  necessary  for
08000	operation  of  non-intelligent  devices.   It is hard to estimate the
08100	value of systems which  work  within  current  industrial  tolerance,
08200	rather  than  requiring radical improvements in engineering practice,
08300	but that continuity does seem important.
08400	
08500	Functional modularity has been emphasized in our studies;  modularity
08600	is  clearly  possible  and  there is a powerful economic incentive to
08700	assemble widely varying systems from one, two, or three arm  modules,
08800	force  and  touch  modules, vision and ranging modules, with planning
08900	and monitoring modules,  computer-aided  mechanical  design  and  job
09000	specification  for robots on a local or network time-sharing service,
09100	with software modularity. This approach to advanced automation  saves
09200	much  wasted effort. The economies of scale in production of assembly
09300	modules are matched by economies of intellectual scale:   the  design
09400	process  is  modularized  and  easily communicable; there is a common
09500	discipline which can be widely absorbed; developments of many sources
09600	can  be  integrated.     The  alternative  is special design for each
09700	operation.  We expect that at some point, design will be cheaper with
09800	standard  robot modules than with special purpose designs, just as it
09900	is now more economical to use mini-computer controllers than  special
10000	purpose  controllers.     To  some extent, the dehumanized industrial
10100	worker now fills the role of standard  module,  so  that  we  do  not
10200	expect   discontinuous  change.    The  continuity  with  decades  of
10300	experience with design for  human  versatility  in  assembly  can  be
10400	relied  upon;  robots  with  some  versatility,  sensing, contingency
10500	actions, and dexterity will provide a  transition  to  newer  schemes
10600	which  will  evolve  more slowly. Advances which benefit special case
10700	automation and traditional trends in automation for human  production
10800	will  also  aid general purpose devices.  For example, new techniques
10900	in bonding and fastening will simplify many  assembly  tasks  to  the
11000	capability   of   robots,   while   still   too  complex  for  simple
11100	servomechanisms. Another advantage of general purpose  techniques  is
11200	the  ease  with which the size of the robot can be scaled up or down.
11300	There appears to be no difficulty in making very large or very  small
11400	assembly stations which use essentially the same programs.
11500	
11600	The  development  of  general  purpose  assembly devices will benefit
11700	manufacturers and a broad spectrum of industry.  There does not  seem
11800	to  be  a  private  institution  with the competence or the desire to
11900	undertake this program.   It is an appropriate area for  governmental
12000	action to help meet a national need.
12100	
12200	But given sensor-equipped robots at little extra cost, they will have
12300	visual ability  to  sense  color,  strong  contrasts  in  brightness,
12400	recognize  known  objects  from two dimensional outlines (top view of
12500	flat object) or three dimensionally using depth, to a certain  extent
12600	they  will  be  able  to  recognize  three  dimensional objects using
12700	monocular recognition.   They will be able to visually  align  mating
12800	parts    in    assembly    operations,    increase   reliability   by
12900	self-calibration and flaw and disaster detection,  and  permit  large
13000	tolerances  in parts transfer, even permitting parts to be taken from
13100	a bin.       Several of these abilities are not yet available in  the
13200	laboratory,   but   with  known  conditions  and  objects,  and  some
13300	engineering (color coding) are achievable within that time span.
13400	
     

00200	II	RESEARCH PLAN
00300	
00400	
00500	A.	THE PILOT ASSEMBLY STATION
00600	
00700		The basic goal of  the  proposed  project  is  to  produce  a
00800	general  purpose  assembly  station and to prove its applicability to
00900	real problems. The project will be considered a  success  if  one  or
01000	more  enterprises  chooses  to  manufacture  and  market  the general
01100	purpose station. There are a number of hardware and software problems
01200	to be solved in meeting our goal, but we expect to overcome them.
01300	
01400	The  assembly  station is assumed to be normally connected to a large
01500	time-shared computer facility. Not only does this appear to be a good
01600	design  for  our  problem, but it is also necessary for an integrated
01700	programmed automation facility.  The only statement in the ARPA study
01800	report[]  is:  "The maximum impact of computers in manufacturing will
01900	come from complete, real-time computer cognizance and control of  all
02000	processes   and   resources,  allowing  the  precise  scheduling  and
02100	allocation of these resources."
02200	
02300	Each assembly station will consist of a small digital  computer,  one
02400	or  more  manipulators  and cameras. Manipulators and cameras will be
02500	appropriate both in number and layout to a given task,  and  will  be
02600	digitally controlled by the station computer.
02700	
02800	The program in the station computer will be flexible as to the number
02900	and position of manipulators and cameras. It will control input  from
03000	the  cameras,  provide for some pre-processing of the picture and the
03100	application of simple tests to the visual data.     In  the  case  of
03200	manipulators  it will provide for simultaneous servo control. It will
03300	also process  other  inputs,  such  as  from  touch  sensors  on  the
03400	manipulators,  from photocell interrupt devices, limit switches, etc.
03500	Both analog and binary outputs will be available for the  control  of
03600	other devices.
03700	
03800	Each  station  computer will have access to a task program specifying
03900	the actions and tests it should perform to carry out its task.   This
04000	task program will be compiled by the central computer.    Compilation
04100	will consist of the analysis of predicted scenes in order to  specify
04200	simple tests that the station computer can carry out, the calculation
04300	of collision free trajectories for the manipulators, the sequence  of
04400	operations  and  simple  contingency plans. etc.  We are planning for
04500	tasks  whose  normal  execution  does  not  require  detailed   scene
04600	analysis.  If scene analysis becomes necessary  (e.g. a dropped part)
04700	we envision the station sending an image to the central computer  for
04800	processing.
04900	
05000	The  central  computer will perform overall control of the individual
05100	assembly stations and the relative rates of production.   If  at  any
05200	station  a  planned test fails, for which a contingency plan does not
05300	exist, or any unexpected sensor signals  are  received,  the  central
05400	computer will also be interrupted and appropriate actions taken.
05500	
05600	Most  of  the  hardware  required  for  the assembly station has been
05700	developed for  the  laboratory.  Manipulators  and  cameras  will  be
05800	discussed  in detail below. The major additional problem is to refine
05900	the  existing  designs  to  meet  the  demands   of   an   industrial
06000	environment.
06100	
06200	In  addition we will purchase a small computer such as the PDP-11 and
06300	interface the existing arms to it together with one or more  cameras.
06400	A  software  package for the small computer will then be developed in
06500	order to control the manipulators, read the TV cameras and to perform
06600	low  level  visual  analysis.  Programs  to plan tasks, calibrate the
06700	system and to perform higher level visual  analysis,  error  recovery
06800	and  strategy  planning will be written in an high level language for
06900	the time-sharing processor.
07000	
07100	The most difficult part of the assembly station, and the heart of the
07200	of the proposal is a demonstration of the feasibility of the station.
07300	We plan to do this by developing programs which actually assemble and
07400	inspect a variety of fairly complex manufactured items.
07500	
07600	A  typical  example is our current project, assembly of a water pump.
07700	The major parts are to be located, the  screws  are  supplied  as  is
07800	standard,  by  a  feeder.  Locating  the  body  and cover of the pump
07900	require a gross localization,  then  a  fine  localization  of  screw
08000	holes.   Touch provides a final accuracy and independent coordination
08100	of the hand.   The placing of alignment pins within screw  holes  can
08200	be monitored visually; although the previous actions provide adequate
08300	accuracy.  Placing of the cover over alignment pins  can  be  carried
08400	out  without  vision.   However,  our  improved force sensing will be
08500	useful for that operation when completed.  The insertion of alignment
08600	pins  in other screw holes, and the insertion of screws in holes will
08700	be monitored visually.
08800	
08900	As we move to more difficult tasks, the sophistication required  goes
09000	up  quite  rapidly.  The  current  manipulation  routines  seem to be
09100	expandable to cover anticipated problems, especially since we  intend
09200	to  employ  special purpose manipulators (tools) for some tasks.  The
09300	main Part of our effort will be vision for assembly; an assembly task
09400	will  be  performed using vision, touch, and two hands.    The vision
09500	effort will be integrated with other abilities, and  while  no  great
09600	generality  will  be  stressed, new modules will be incorporated into
09700	the system, and a set of techniques will evolve.  These  will  depend
09800	heavily  on  techniques  similar  to  those  of our recent studies in
09900	visual feedback and hand/eye coordination. The internal model of  the
10000	world  will be used to predict visual appearance of selected areas of
10100	the scene, and a set  of  verification  procedures  will  confirm  or
10200	contradict the predictions.  Many of the operations will be connected
10300	with supplying feedback to manipulation, for alignment and insertion.
10400	These   visual   procedures  will  have  models  for  the  parts  and
10500	approximate locations.
10600	
10700	This and other visual tasks connected with assembly will initially be
10800	performed  as  special  case  problems.  In  addition,  to make these
10900	techniques  available,  we  will  pursue  development   of   strategy
11000	programs.  This step is essential if intelligent assembly devices are
11100	to be conveniently programmed for complex tasks. Within the  division
11200	of labor between large and  small machines, this facility must reside
11300	in the central time-sharing facility which  has  large  memory,  file
11400	storage,  and problem-solving languages. The system must have a model
11500	of the parts for assembly, a sequence of instructions  for  assembly.
11600	It will be necessary to have a representation of shape and models for
11700	usual assembly operations such as insertion and  alignment,  and  the
11800	ability to solve simple problems in connection with these operations,
11900	all this to enable convenient communication with the user. When these
12000	facilities  exist, the addition of new features and operations can be
12100	incorporated smoothly, so that users can call on a growing library of
12200	planning  modules.  The  result  of  a  planning effort is a cycle of
12300	machine planning and interaction which results in a plan network  for
12400	the mini computer which controls individual machines.
     

00100	II.B. VISUAL DEVELOPMENT FOR APPLICATIONS
00200	
00500	A major part of our effort will  be
00600	vision for assembly; an assembly task will be performed using vision,
00700	touch, and two hands.    The vision effort will  be  integrated  with
00800	other  abilities, and while no great generality will be stressed,
00850	new problems will be faced, new
00900	modules will be incorporated into the system, and a set of techniques
01000	will evolve.
01005	Visual feedback for alignment and insertion is a primary and typical
01010	function.  Visual procedures will have models for parts and approximate
01015	locations.
01200	The  internal  model  of  the  world  will  be used to predict the
01300	appearance of simple features in selected areas of the scene, and a set of  verification
01400	procedures  will  confirm or contradict the predictions.
01405	Other visual operations will be based on similar techniques.  This
01410	is particularly appropriate for the industrial environment for which
01415	parts are well known in advance, and positions are known well.  Simple
01420	procedures will be used for gross localization, since a little engineering
01425	of the problem can provide adequate contrast and color coding for a few
01430	such locating tasks.
01700	A typical  example  is  our
01800	current project, assembly of a water pump.  The major parts are to be
01900	located, the screws  are  supplied  as  is  standard,  by  a  feeder.
02000	Locating the body and cover of the pump require a gross localization,
02100	then a fine localization of screw  holes.   Touch  provides  a  final
02200	accuracy  and  independent coordination of the hand.   The placing of
02300	alignment pins within screw holes can be monitored visually; although
02400	the previous actions provide adequate accuracy.  Placing of the cover
02500	over alignment pins can be carried out without vision.  However,  our
02600	improved  force  sensing  will  be  useful  for  that  operation when
02700	completed.  The insertion of alignment pins in other screw holes, and
02800	the insertion of screws in holes will be monitored visually. Although
02900	the assembly has been performed up to tightening of  the  screws,  by
03000	the hand alone, this will provide a good test case for development of
03100	vision, which will increase reliability.
03200	
03300	To be precise in what vision software will be  implemented,  we  will
03400	greatly  expand  our efforts in visual feedback; at present these are
03500	adequate for polyhedra.    We will generalize these to  objects  with
03600	with curved edges, and extend the quality of the verification modules
03700	in  straightforward  ways  using  our  edge   detection   and   color
03800	facilities.  These prediction techniques involve 2d shape description
03900	techniques.   Template matching techniques  are  straightforward  and
04000	standard;  we  expect  to make more sophisticated description modules
04100	which have part/whole capability, of use in  planning.   Some  simple
04200	extensions  to 3d descriptions are planned.  We will extend the power
04300	of our region finding and color  region  analysis  programs.   Visual
04400	input  devices  will  be  interfaced to the minicomputer and existing
04500	modules converted.
04510	SELF-CALIBRATION, NULL GAMES
04550	
04600		Vision research
04700	
04800	Visual  tasks  connected with assembly will initially be performed as
04900	special case problems.   As we have pointed out,  communication  with
05000	the  machine will be necessary for job specification and instruction.
05100	In parallel with progress on  vision  for  assembly,  to  make  these
05200	techniques  available,  we will pursue development of visual strategy
05300	programs. We describe separately the work on construction strategies,
05400	and limit this discussion to visual strategy.  The domain of assembly
05500	is particularly attractive as a subject for strategy programs,  since
05600	the context is much richer than in more artificial environments, such
05700	as the blocks world.  Although a much more  complex  problem  in  the
05800	shapes  and  structural relations, in some ways, it is simpler; there
05900	are  more  types  of  visual  information  to  use,  more  contextual
06000	constraints,a  greater  variety  of simple verification operations to
06100	perform.   This step is essential if intelligent assembly devices are
06200	to be conveniently programmed for tasks. Within the division of labor
06300	between large and small machines, this facility must  reside  in  the
06400	central  time-sharing  facility which has large memory, file storage,
06500	and problem-solving languages.  The system must have a model  of  the
06600	parts  for  assembly,  and a priority from higher up of the parts and
06700	relations to verify or perceive. It  will  be  necessary  to  have  a
06800	representation of shape and models for usual assembly operations such
06900	as insertion and alignment, and the ability to  make  predictions  of
07000	expected  visual scenes and choose a sequence of operations, all this
07100	to  enable  convenient  communication  with  the  user.   When  these
07200	facilities  exist, the addition of new features and operations can be
07300	incorporated smoothly, so that users can call on a growing library of
07400	planning  modules.   The  result  of  a planning effort is a cycle of
07500	machine planning and interaction which results in a plan network  for
07600	the mini computer which controls individual machines.
07700	
07800	
07900	We will continue with our work  with  description,representation  and
08000	recognition of complex objects using depth data.  We are able to make
08100	complete descriptions of objects such as rings and s-shaped snakelike
08200	objects.   The  programs  can  segment  dolls,  toy  horses,  etc  in
08300	intuitively appealing ways and describe the segments well.  The  next
08400	efforts will be to improve and generalize the segmentation process of
08500	describing primitive parts, to link the  descriptions  of  primitives
08600	into  joints,  then to form object descriptions from the descriptions
08700	of joints.    The  recognition  of  such  objects  depends  first  on
08800	internal  modelling  of an object, then on matching perceived objects
08900	with previously stored internal models.  Our representation is useful
09000	in  giving  a  symbolic  description  of  objects which is useful for
09100	visual memory. We intend also to apply large parts  of  our  programs
09200	for   description  and  recognition  of  curved  objects  using  only
09300	monocular intensity information.  This is a much harder problem,  but
09400	within  our paradigm, shares much of the same code, and relies on the
09500	same conceptual basis of local 3d models.   This  might  seem  overly
09600	sophisticated  to  be  relevant  to  industrial robotics, since early
09700	applications might use the simplest facilities.   Our  representation
09800	of  shape  provides a natural way of representing shape internally in
09900	symbolic form and in communicating  with  a  user.  There  are  other
10000	programs  at  the  laboratory in computer graphics (OCCULT) geometric
10100	modelling (GEOMED) which we plan to use as a basis for Computer-Aided
10200	Mechanical Design.
10300	
10400	
10500	
10600	We  will  continue  work on color region analysis and on a new system
10700	which combines region  analysis  with  semantics  about  objects  and
10800	relations.   These  programs  already  exist, but are under extensive
10900	development to integrate more knowledge and to fit  into  a  complete
11000	visual  system. We anticipate that they will function in more complex
11100	environments than have been attempted in the past. There is a growing
11200	effort  on outdoor scenes, in connection with navigation of vehicles.
11300	While this is not directly relevant to the industrial environment, it
11400	does  reflect the growing involvement in complex visual tasks, and is
11500	another force for development of useful visual programs.
11600	
     

00100	II.C. MANIPULATOR DEVELOPMENT
00200	
00300	Manipulator research began at SAIL in 1966 with  the  accquition  and
00400	programming  of  a  Rancho  Orthotic Arm, this arm was used in vision
00500	directed block stacking programs. The present arm, the  result  of  a
00600	continuing  design project, replaced the Rancho Arm in 1970. This arm
00700	like its predecessor  was  controlled  by  a  digital  servo  program
00800	running  under the time sharing computer. The new arm was used in the
00900	"Instant Insanity" demonstration in 1971. A second arm  of  the  same
01000	type, with only minor modifications, is currently being interfaced to
01100	the computer.   Both arms will share a common work space and will  be
01200	able to be used individually, or together for two handed tasks.
01300	
01400	Each  joint  of  the  arm  is calibrated in terms of torque v.  drive
01500	level and it is possible to predict the joint drive levels to produce
01600	a  given  force at the hand. Further, for the hand to exhibit degrees
01700	of freedom of motion, various joints are selected to be "free",  that
01800	is  to have no position feedback applied to them. By exerting a force
01900	at the hand and providing that certain degrees of freedom exist it is
02000	possible  to  perform  a  much  wider  class  of  tasks  than  simple
02100	positional control, for instance screwing in  screws,  mating  parts,
02200	inserting tools and turning cranks.
02300	
02400	Touch  sensors on the fingers allow the hand to sense objects without
02500	disturbing them.   When activated the arm will stop when any  of  the
02600	sensors  touch.  Branching arm instructions can test the state of the
02700	sensors and modify the execution of an arm program. When  screwing  a
02800	nut  onto  a  bolt, for instance, the hand is first centered over the
02900	bolt by touching it.
03000	
03100	Control of the arms is by a series of high level instructions;  these
03200	instructions  may  be executed directly, or may be assembled together
03300	into an arm program. Arm programs may then be executed,  as  desired,
03400	by  the  control  program.   The control instructions may be accessed
03500	directly by other programs, using the message procedure mechanism, or
03600	in the form of symbolic source file.
03700	
03800	Positional  accuracy  at  the  hand  is  typically  0.1  inches  with
03900	repeatibility of 0.02 inches. Force control at the hand is within  10
04000	ounces. The data rate to run the arm from an assembled arm program is
04100	of the order of 100 bits/second.
04200	
04300	Manipulator research moves  ahead  simultaneously  on  three  fronts:
04400	control,  primitives  and  devices.      Tasks are translated into an
04500	existing hand language and where the task cannot be  accomplished  in
04600	terms  of  existing  primitives,  new  primitives are formulated in a
04700	consistent manner.   When a new primative is  formulated,  real  time
04800	routines  are  developed  to perform the action.  This also leads, in
04900	many cases, to the development of  new  hardware.       Also  as  new
05000	developments  occur  in  hardware design, existing real time routines
05100	are either re-written or modified.
05200	
05300	Research is now concentrating on the following areas:
05400	
05500	Strain gauge instrumentation of the wrist, in order to allow for more
05600	sensitive  interaction  of  the  hand with a task.   High resolution,
05700	high sensitivity touch sensors, to increase tactile  recognition  and
05800	control  abilities.     These  developments  will lead in turn to new
05900	control concepts.
06000	
06100	Development of tools for the hand. These tools  can  be  instrumented
06200	such  that  the  computer can feel and or see at the end of the tool.
06300	This should be a very important area of research as  it  goes  beyond
06400	present human capabilities.
06500	
06600	Two handed arm control, the planning and execution of tasks requiring
06700	the coordinated motion of both arms. This will require  an  extension
06800	of  the  existing  servo  program and the analysis of synchronization
06900	problems. The development of collision avoiders, so that he arms will
07000	not collide with other objects and with each other.
07100	
07200	Modification  of  the  existing  arm  design  to  provide  for better
07300	incremental motions, more degrees of freedom and a more rugged design
07400	suitable  foe  industrial  use.   Development of arm and eye computer
07500	interfaces.   These contain  synchronized  analog/digital  converters
07600	for input and current controlled drivers for output.
07700	
07800	The  development  of  new hands is expected as more complex tasks are
07900	attempted.   At present, with only one hand, we have been  performing
08000	the  positioning  type  of  hand  actions.   When  the  second arm is
08100	operational we will be able to perform holding and pulling actions as
08200	well.
08300	
     

00100	II.D.SYSTEM REQUIREMENTS FOR ADVANCED AUTOMATION
00200	
00300	A  key  element in the development of any large programming effort is
00400	the software support.  There has been continual  effort  along  these
00500	lines  at the S.A.I.L. and many useful ideas have been developed.  We
00600	propose to extend the research along two separate lines:  support for
00700	research  and  system  software  for operating automated systems.  We
00800	will briefly describe our post efforts and in this area and  what  we
00900	propose to undertake.
01000	
01100	The S.A.I.L. has pioneered in several areas  of  system  programming,
01200	including  timesharing systems, interactive graphics, and programming
01300	languages.
01400	
01500	A  great  deal  of  additional effort has gone into direct support of
01600	hand-eye research.  Very early, we  established  a  set  of  standard
01700	formats  and  library  routines;  this has facilitated the cumulative
01800	effect needed for progress in an area as difficult  as  this  one.  A
01900	programming language S.A.I.L., was implemented in 1968.  The language
02000	incorporates special features for large  real-world-oriented  problem
02100	solving  systems  and  is  currently in use at a number of Artificial
02200	Intelligence and other laboratories.
02300	
02400	As  we began to assemble larger and more sophisticated collections of
02500	programs, we felt a need  for  flexible  mechanisms  for  cooperating
02600	sequential  processes.  The resulting monitor and language features [
02700	, ] have worked well for  us  and  have  been  influential  on  other
02800	projects  planning.   Recently,  we  have  added an additional set of
02900	features to SAIL to facilitate non-deterministic  and  event-directed
03000	programming.   The  early  reactions  to  this  work, both within the
03100	laboratory and without has been very encouraging.
03200	
03300	We  expect  relatively  little  work  to be needed on further systems
03400	support for basic research.  There will  undoubtedly  be  efforts  to
03500	take  advantage of new hardware and of new programming ideas that may
03600	develop in the course of this  program.   Almost  all  of  this  work
03700	should be covered by other funding.
03800	
03900	The development of software for the  assembly  station  will  require
04000	more  of  our  effort.  The octapus configuration requires code to be
04100	resident in the local computer and in the shared  machine.   The  low
04200	level  programs in the local machine will not be modified often, thus
04300	we can assume that  a  PDP-l0  resident  compile  will  suffice.  The
04400	planning programs and general vision programs will be resident in the
04500	shared system.  There are two possible configurations for the  shared
04600	computer  system:   A PDP-10 equivalent machine or a software package
04700	in ASA Standard Fortran IV which will run on any  sufficiently  large
04800	machine.   One  of the tasks under this proposal would be to evaluate
04900	these two alternatives.
05000	
     

00100	III. Dissemination of Information; Relations with  other Institutions.
00200	
00300	All of the discoveries made under this grant will, of course, be made
00400	public.   We  view our role in information transfer in a much broader
00500	way.  Having no desire to sell products and services and  no  clients
00600	with   interests  to  protect,  a  university  laboratory  should  be
00700	primarily a place for acquiring and spreading knowledge.
00800	place for acquiring and spreading knowledge.
00900	
01000	The Stanford Artificial Intelligence Laboratory has always considered
01100	information transfer to be one of its primary goals.  In addition, to
01200	ourb published papers and reports, we have  made  a  number  of  film
01300	reports  which  have  been  extensively  circulated.  There have been
01400	thousands of visitors, ranging  from  elementary  school  classes  to
01500	major  scientific,  governmental  and  industrial  missions from many
01600	countries. We have also encouraged extended visits  by  workers  from
01700	other  laborities and from industry.  Members of the laboratory staff
01800	have played a major role in the organization of journals, conferences
01900	and  seminars  in  artificial  intelligence.  Many of our algorithms,
02000	systems, and hardware designs have been adopted by other groups.
02100	
02200	The   success  of  the  program  proposed  here  depends  heavily  on
02300	interaction with industry.  We will need  additional  information  on
02400	the  opportunities for automation and will try to involve manfactures
02500	in the development of the  pilot  assembly  station.   We  have  good
02600	working  relatinships  with  a  number  of firms and we expect that a
02700	concrete project will help forge the bonds necessary for the transfer
02800	of advanced automation technology from the laboratory.
02900	
03000	One promising approach to technology tansfer is  a  staff  associates
03100	program.  This  involves  residence of about a year's duration at the
03200	laboratory  by  industrial  scientists.   Such  a  program  was  used
03300	successfully at the MIT, Electronic's Research Laboratory in the area
03400	of programming systems for numerically controlled  tools  and  design
03500	automation.   We plan to explore this as well as other mechanisms for
03600	gaining the insights  that  industrial  experience  can  add  to  our
03700	enterprise.
03800	
     

00020	IV. STAFF
00040	
00100	 Brief Biographical Sketches
00200	
00300	Jerome A. Feldman,Principal Investigator: Early training in
00400	physics and mathematics; Ph.D. in computer science from
00500	Carnegie-Mellon, 1964. Two years at M.I.T. Lincoln Laboratory.
00600	At Stanford since 1966, leader of Robotics group since 1968.
00700	currently Associate Professor of Computer Science and
00800	Associate Director of the Artificial Intelligence Laboratory.
00900	Research interests include Robotics,associative processing,
01000	inductive inference,and Translator-writing systems.
01100	
01200	Thomas O. Binford,Associate Investigator:
01210	Received PhD in physics from the University of Wisconsin, 1965,
01220	working with strange particle reactions, Regge pole and group theory
01230	phenomenology.  Fulbright 1965-66 Tata Institute of Fundamental 
01240	Research, Bombay, India: phase shift analysis of strange particle
01250	systems; theory of unstable particles.  At Artificial Intelligence
01260	Laboratory, MIT, from 1967 to 1970, working on representation of shape,
01270	region-based analysis system and other areas of computer vision, systems
01280	programming for LISP. Lecturer in computer science at Stanford University.
01285	Research areas include computer vision, robotics,
01290	representation, and perception.
01300	
01400	Richard Paul,Associate Investigator:
01500	
01600	John McCarthy:
01700	
01800	Victor Scheinman: Bachelor's in Electrical Engineering,M.I.T.,
01900	19??. Master's (19??) and Engineer's(19??) in Mechanical Engineering
02000	from Stanford. Employed as a design engineer at Stanford,M.I.T.,
02100	and Raychem since 19??. Responsible for the design and 
02200	construction of ? computer controlled arms, as well as other
02300	Robotics equipment such as color-wheels,focus controls,pan-tilt
02400	heads,etc.
02500	
02600	Lester Earnest:
     

02700	
02800	                          Curriculum Vitae
02900	
03000	                          JEROME A. FELDMAN
03100	
03200	                                1972
03300	
03400	
03500	                      Biographical Information:
03600	
03700	Born:  December 5, 1938 in Pittsburgh, Pennsylvania, U.S.A.
03800	Nationality: United States
03900	Marital Status:  Married, two children
04000	
04100	
04200	EDUCATION:
04300	
04400	B.A.	(Physics, with Distinction)	Rochester	1960
04500	M.A.	(Mathematics)			Pittsburgh	1961
04600	Ph.D.	(Mathematics, Computer Science) Carnegie-Mellon 1964
04700	
04800	
04900	HONORS AND SOCIETIES:
05000	
05100	Association for Computing Machinery
05200	American Association for the Advancement of Science
05300	National Lecturer, Association for Computing Machinery  1966
05400	Best Session Award, IEEE, August			1970
05500	Fulbright Lecturer, Hebrew University, Jerusalem	1970-71
05600	
05700	
05800	PROFESSIONAL EXPERIENCE:
05900	
06000	Engineer, Westinghouse Electric Corporation		1960-61
06100	Asst. Research Scientist, Carnegie-Mellon U.		1963-64
06200	Staff Member, MIT Lincoln Laboratory			1964-66
06300	Summer Lecturer, U. Pennsylvania			1966
06400	Summer Lecturer, U. Michigan				1967
06500	Asst. Prof., Computer Science, Stanford U.		1966-69
06600	Assoc. Prof., Computer Science, Stanford U.		1969-Present
06700	Visiting Prof. of Computer Science, Hebrew U.		1970-71
06800	Assoc. Dir., Artificial Intelligence Lab., Stanford U.	1972-Present
06900	
07000	
07100	
07200	EDITORIAL, ORGANIZATIONAL, AND CONSULTATION:
07300	
07400	Reviewer for Computing Reviews, Journal and
07500		Communications of the ACM, Information and
07600		Control, IEEE Computer Group, various Conferences
07700		and government agencies.
07800	
07900	Consultant for IBM, Systems Development Corp.,
08000		Martin-Marietta Corp., Lockheed Missiles and Space
08100		Corp., General Motors, National Institute of Health
08200	
08300	Editorial Board, Fundamental Studies in Computer
08400		Science, North-Holland Publishing Company
08500	
08600	Lecturer, ACM Professional Development Seminar in
08700		Time-Sharing, 1967
08800	
08900	Organizing Committee, Israel Alta Conference,
09000		Ashkelon, February 1971
09100	
09200	Organizing Committee, NATO Conference on Software
09300		Engineering, Rome, Italy, November 1969
     

00100	                            PUBLICATIONS
00200	
00300	                          Jerome A. Feldman
00400	
00500	
00600	"Some   Regularity  Theorems  on  Kernel  Methods  of  Summation  for
00700	Functions of a Complex Variable," Masters' Thesis, U. of  Pittsburgh,
00800	1961.
00900	
01000	"A  Formal  Semantics  for  Computer   Oriented   Languages",   Ph.D.
01100	Dissertation, May 1964, Carnegie-Mellon University.
01200	
01300	"Aspects of Associative Processing", TN-1965-13, Lincoln  Laboratory,
01400	Massachusetts Institute of Technology, Lexington, Massachusetts.
01500	
01600	"A Formal Semantics for Programming Languages",  Proceedings  of  the
01700	International  Federation  of  Information  Processing Societies, May
01800	1965.
01900	
02000	
02100	"A  Formal Semantics for Computer Languages and its Applications in a
02200	Compiler-Compiler", Communications of the Association  for  Computing
02300	Machinery,  Vol.  9,  No. 1, January 1966, and reprinted in "COMPUTER
02400	COMPILER TECHNIQUES", Auerbach Publishers, 1971.
02500	
02600	"An   Associative   Processing   System   for   Conventional  Digital
02700	Computers", (with P.D. Rovner), TN-1967-19, Lincoln Laboratory,  MIT,
02800	Lexington, Mass.
02900	
03000	
03100	"The Compiler-Compiler  in  a  Time-Sharing  Environment",  (with  J.
03200	Curry), Summer Lectures on Advanced Computer Organization, University
03300	of Michigan, June 1967.  Also Bit Dropper, September 1967.
03400	
03500	"Translator  Writing  Systems",  (with  D.  Gries),  CS  69, Computer
03600	Science Department, Stanford University, June 1967.
03700	
03800	"First  Thoughts  on  Grammatical  Inference", A.I. Memo 55, Stanford
03900	University, August 1967.
04000	
04100	"Translator  Writing Systems", (with D. Gries), Communications of the
04200	Association for Computing Machinery, Vol. 11, No. 3, March 1968,  and
04300	reprinted  in  "Computer  Compiler  Techniques", Auerbach Publishers,
04400	1971.
04500	
04600	"The  Leap  Language and Data Structure", (with P.D. Rovner), Lincoln
04700	Laboratory  Memorandum,  January  1968.   Also  in  reduced  form  in
04800	Proceedings of the International Federation of Information Processing
04900	Societies, August 1968.
05000	
05100	"Grammatical Inference and Grammatical Complexity", (with others), CS
05200	125, Stanford  University,  Computer  Science  Department,  Stanford,
05300	California, May 1969.
05400	
05500	"An Algol-based Associative Language", (with P.D. Rovner), A.I.  Memo
05600	66,  Stanford University, 1968.  Also Communications of the ACM, Vol.
05700	12, No. 8 August 1969, pp. 439-449.  Reprinted  in,  INTRODUCTION  TO
05800	INFORMATION SCIENCE (T. Saracevic, Ed.) Bowker, 1971.
05900	
06000	"The  Stanford  Hand-Eye  Project",  (with   others),   Proc.   First
06100	International  Congress on Artificial Intelligence, Washington, D.C.,
06200	May 1969.
06250	
06300	"The  Computer  Description  of  Simply Described Scenes", (with R.P.
06400	Paul and G. Falk), A.I.  Memo  101,  Stanford  University.  Also  in,
06500	PERTINENT  CONCEPTS  IN  COMPUTER  GRAPHICS,  (J.  Nievergelt  and M.
06600	Faiman, Eds.), U.of Illinois Press, 1969.
06700	
06800	"Machine  Intelligence",  Review  of  Numbers  I.III  of  the Machine
06900	Intelligence Series, Information and Control, 14, 490-492, 1969.
07000	
07100	
07200	"Towards  Automatic  Programming",  Preprints  of  the  NATO Software
07300	Engineering Conference, Rome, Italy, 1969.
07400	
07500	"Getting  a  Computer  to  See  Simple Scenes", IEEE Student Journal,
07600	September 1970.
07700	
07800	"A  Survey of Grammatical Inference", (with A. Biermann), Proceedings
07900	of International Congress on Pattern  Recogniton,  Honolulu,  January
08000	1971.  also  in  S.  Watanbe  (Ed.) FRONTIERS OF PATTERN RECOGNITION,
08100	Academic Press, 1972.
08200	
08300	"Hebrew University Production Language", (with S. Tsur and D. Lehman)
08400	Hebrew University, Computer Science Department, February 1971.
08500	
08600	"A  Way  of  Looking  at Things", Hebrew University, Computer Science
08700	Department, February 1971.
08800	
08900	"A  Laboratory  for  Hand-Eye  Research",  (with others), Proceedings
09000	IFIPS International Conference, Lubljana, Yugoslavia, August 1971.
09100	
09200	"System Support for the Stanford Hand-Eye Project", (with R. Sproull)
09300	Proceedings Second International Congress on Artificial Intelligence,
09400	London, September 1971, p. 183-189.
09500	
09600	"The  Use  of  Vision  and Manipulation to Solve the Instant Insanity
09700	Puzzle", (with others), Proceedings Second  International  Conference
09800	on Artificial Intelligence, London, September 1971, p. 359-364.
09900	
10000	"Some Decidability Results on Grammatical Inference and  Complexity",
10100	Information and Control, Vol. 20, No. 3, April 1972, p. 244-262.
10200	
10300	"On The Synthesis of Finite-State  Machines  from  Samples  of  their
10400	Behavior",  (with  A. Biermann), IEEE Transactions on Computers, June
10500	1972, Vol. C-21, No. 6, p. 592-596.
10600	
10700	"Automatic   Programming",  CS  255,  Stanford  University,  Computer
10800	Science Department, Stanford, California, February 1972.
10900	
11000	"Total  Complexity  and  the  Inference  of  Best Programs", (with P.
11100	Shields), CS 253, Stanford  University,  April  1972.   Submitted  to
11200	Mathematical Systems Theory.
11300	
11400	"Recent Developments in SAIL-An Algol Based Language for Artificial 
11500	Intelligence", (with others).  CS 308, Stanford University, August 1972.
11600	To appear in Proc. Fall Joint Computer Conference, 1972.
     

00100	                 MAJOR PROGRAMMING SYSTEMS DEVELOPED
00200	
00300	
00500	
00600	TRANSLATOR WRITING SYSTEMS
00700	
00800		FSL:  Additional reference
00900		
01000		Itturriaga, R. et.al., "Techniques and Advantages of Using the
01100		formal compiler writing system FSL to implement a Formula Algol
01200		Compiler", Proc. AFIPS Conference 1966, pp. 241-252.
01300	
01400		VITAL:  Additional Reference
01500	
01600		Mondschein, L.F. "VITAL compiler-compiler System Reference Manual",
01700		TN-1967-12.  M.I.T., Lincoln Lab., February 1967.
01800	
01900	
02000	ASSOCIATIVE LANGUAGE SYSTEMS
02100	
02200		LEAP:  Additional reference
02300	
02400		Rovner, P., "The LEAP Users Manual", Mem. 23L-0009, M.I.T., Lincoln
02500		Lab., December 1968.
02600	
02700		Swinehart, D. and R. Sproull, "SAIL Users Manual", Operating Note
02800		57.1; Stanford A.I. Project, April 1970.
02900	
03000	
03100	COOPERATING SEQUENTIAL PROCESSES
03200	
03300		HAND-EYE SYSTEM:  Additional reference
03400	
03500		Pingle, K., "System Manual for Hand-Eye Hackers", Internal
03600		Memorandum, Stanford A.I. Project, June 1971.
     

00100	DOCTORAL STUDENTS
00200	
00300	
00400	NAME	      DEPT.          TITLE/TOPIC	   FINAL ORAL	CURRENTLY
00500	
00600	F.J. Hilbing  Industrial     Strategies for 	   1968		U.S.A.F.
00700		      Engineering    Paging a Large	   		Academy
00800		    		     Associative Data Base		
00900	
01000	J.J. Horning  Computer	     A Study of Grammati-  1969		U. of
01100		      Science	     cal Inference			Toronto
01200	
01300	L.F. Morris   Computer	     Semantic Models and   1969		Syracuse U.
01400		      Science	     Compiler Correctness		
01500	
01600	G. Falk	      Computer	     Computer Interpreta-  1970		Rutgers U.
01700		      Science	     tion of Imperfect 			
01800				     Line Data as a Three-
01900				     Dimensional Scene
02000	
02100	I. Sobel      Electrical     Camera Models and	   1970		Haifa 
02200		      Engineering    Machine Perception			Technion
02300	
02400	J.Tenenbaum   Electrical     Accommodation in	   1970		Stanford
02500		      Engineering    Computer Vision			Research
02600									Institute
02700	
02800	J.D.Becker    Computer	     An Information	   1970		Bolt,
02900		      Science	     Processing Model of		Beranek, &
03000				     Intermediate Level			Newman
03100				     Cognition
03200	
03300	R. Paul	      Computer	     Studies with a	   1972		Stanford U.,
03400		      Science	     Computer Controlled		A.I. Lab.
03500				     Arm
03600	
03700	D.Swinehart   Computer	     A One-Level Language  1972		Stanford U.,
03800		      Science	     System				A.I. Lab.
03900	
04000	A. Gill	      Electrical     Visual Feedback Con-  1972		Israel
04100		      Engineering    trol of a Mechanical		Defense
04200				     Arm				Establshmnt.
04300	
04400	D. Levine     Computer	     Automated Error	   1972		Stanford U.
04500		      Science	     Correction of			IMSSS
04600				     German Sentences
04700	
04800	G. Grape      Computer	     Computer Vision	   1973		
04900		      Science	     Through Sequential
05000				     Abstraction
05100	
05200	M. Arisawa    Computer	     Inference of	   1973
05300		      Science	     Picture Grammars
05400	
05500	J. Gips	      Computer	     Structure of	   1973
05600		      Science	     Pictures Applied to
05700				     Art and Vision
05800	
05900	S.Ganapathy   Computer	     Analysis of Simple    1973
06000		      Science	     Scenes Using Multiple
06100				     Views
06200	
06300	J. Low	      Computer	     Optimization of	   1973
06400		      Science	     Data Structures for
06500				     Associations
06600	
06700	Y.Yakimovsky  Computer	     Knowledge-based,	   1973
06800		      Science	     Decision Theoretic
06900				     Region Analysis of
07000				     Pictures
07100	
     

00100	
00200	V. COMPUTING FACILITIES
00300	
00400	*** LIKE ARPA PROPOSAL ***
00500	
00600	VI. BUDGET
00700	
00800	*** ABOUT 650K FOR 3 YEARS, SHOULD BE IN TODAY ***
00900	
01000	VII.REFERENCES
01100	
01200	*** SOON ***
01300	
01400	VIII. RELEVANT LABORATORY  PUBLICATIONS
01500	
01600	*** EDITED FROM ARPA REPORT ***
01700